Computer simulated environments such as virtual worlds are one of the ways that users interact with computer systems and gaming machines. To support real-time interaction, such systems need to be efficient in rendering scenes and in how they handle user interaction, particularly manipulation of data by users to build the environment.
In contemporary technologies related to simulated environments, large scale terrain data and constructive solid geometry (CSG) techniques may be used. Large scale terrain data is frequently represented as heightmaps of sample points, with the terrain surface generated essentially by laying a “sheet” over the sample points. While convenient for rendering geographic information system (GIS) data as obtained from satellites, it is difficult for users to manipulate such data; for example, heightmap surfaces cannot represent vertical walls, and are especially unsuited for use in interior environments, such as buildings. Constructive solid geometry techniques are generally used for interior spaces, but suffer from extreme limitations. For example, CSG modeling tools are non-intuitive and require extensive training, as well as considerable talent to generate desired results. Further, they are generally not suited for exterior spaces such as landscapes.